【画像/コードで解説】PythonでGoogle Search Console APIを使う方法

您所在的位置:网站首页 google search console api 【画像/コードで解説】PythonでGoogle Search Console APIを使う方法

【画像/コードで解説】PythonでGoogle Search Console APIを使う方法

2023-03-26 03:50| 来源: 网络整理| 查看: 265

 

Googleでどんな単語で検索されているか一覧で確認したいな〜

 

PythonでGoogle Search Console APIを使えば、検索クエリやクリック率などが自由に取得できるよ〜

 

本記事では、PythonでGoogle Search Console APIを使い検索クエリの一覧を抽出する方法をご紹介します。

 

設定のための画面イメージ、Pythonのソースコードを公開しているので、Google Search ConsoleとPythonの環境さえあれば、Google Search Console APIをすぐに使えるようになると思います。

 

想定読者

・ブログなどの自分のサイトを持っていて、Google Search Console(サチコ)を使っている。

・PythonでなにかAPIを使ってみたい。

 

※本時期は、2020年11月18日時点の情報となります。

 

PythonでGoogle Search Console APIを使う事前準備

google-analytics1PythonでGoogle Search Console APIを使う前提条件

PythonでGoogle Search Console APIを使う前提条件を次の通りです。

・Google、Google Search Console(サチコ)にログインできるアカウントがある。

・Pythonを動作させる環境がある。

 

 

本記事のPythonの実行環境

今回は、以下の実行環境でプログラムを実行しています。

・Python 3.7.6 ・Jupyterlab 1.2.6

 

 

Google Search Console APIを使うための設定手順

google-analytics2

Google Search Console APIを使うための設定手順として、次の5ステップを行います。

 

step1 「Google Developer Console」でプロジェクトを作成

まず、Googleアカウントにログインした状態で、「Google Developer Console」にアクセスします。

Google Developer Console

 

Google APIsロゴの右の部分をクリックし、「新しいプロジェクト」をクリックします。

アナリティクス1

 

「プロジェクト名」に任意の名前を入力し、「作成」ボタンをクリックします。

アナリティクス2

 

step2「Google Search Console API」を有効化する

ステップ1で作成したプロジェクトの「Google Search Console API」を有効化します。

左のメニューから「ダッシュボード」を選択肢し、「APIとサービスの有効化」をクリックします。

アナリティクス3

 

検索窓で「console」と検索し、「Google Search Console API」をクリックします。

コンソール1

 

「有効にする」をクリックします。

コンソール2

 

step3サービスアカウントを作成する

Step1で作成したプロジェクトにサービスアカウントを作成します。このアカウントでGoogle Search Consoleにアクセスしてデータを抽出することとなります。

プロジェクト画面の左メニュー「認証情報」を選択し、「サービスアカウントを管理」をクリックします。

コンソール3

 

「サービスアカウントを作成」をクリックします。

アナリティクス7

 

「サービスアカウント名」に任意の名前を入力し、「完了」をクリックします。

アナリティクス8

 

step4サービスアカウントの鍵を作成する

ここでは、Step3で作成したサービスアカウントの認証情報である鍵を作成します。

操作列のメニューをクリックし、「鍵を作成」をクリックします。

 

アナリティクス9-2

キーのタイプは、「JSON」を選択し、「作成」をクリックします。

そうすると、鍵のファイルがパソコンのローカルフォルダにダウンロードされます。

アナリティクス10

 

 

step5Google Search Consoleでサービスアカウントのアクセス権を付与する

まず、自身のGoogle Search Consoleを開きます。

画面左のメニューの「設定」を選択します。

 

コンソール4

 

「ユーザーと権限」を選択します。

コンソール5

 

ユーザー管理画面で、左上にある「ユーザーを追加」をクリックします。

コンソール6

 

「メールアドレス」を入力し、権限は「フル」を選択して、「追加」をクリックします。

コンソール7

メールアドレスは、「Google Developer Console」のサービスアカウント画面の「メール」の部分をコピーして貼り付けます。

アナリティクス11

 

ここまででGoogle Search Console APIを使うための設定が終わりです。

次は、実際にGoogle Search Console APIを使うためPythonのソースコードをみていきます。

 

PythonでGoogle Search Console APIを使い検索クエリの一覧を出力する方法

google-analytics3PythonでGoogle Search Console APIを使つための準備

まず、PythonでGoogle Search Consoleを使うために次の3つの準備をします。

・新規の作業フォルダを作成し、サービスアカウントの鍵と新規のipynbファイルを置く

・必要なライブラリのインストールする

 

2つ目のGoogle Search Console APIを使うために必要なライブラリを次の通りインストールします。

pip install --upgrade google-api-python-client pip install oauth2client

 

次は、ようやくPythonの実際のソースコードをみていきます。

 

PythonでGoogle Search Console APIを使い検索クエリの一覧を出力するソースコード

それでは、新しく作ったipynbファイルに上からソースを書いていきます。

まずは、インストールしたライブラリをインポートします。

import pandas as pd #Google Search Console APIを使うためのライブラリのインポート from apiclient.discovery import build from oauth2client.service_account import ServiceAccountCredentials

 

まずは、変数を設定します。

key_file_locationは、鍵のファイル名を入力します。.jsonの拡張子も忘れずつけましょう。

urlには、自身のサイトのURLを入力します。

 

#変数の設定 scope = ['https://www.googleapis.com/auth/webmasters.readonly'] key_file_location = '鍵のファイル名を入力(XXXXXXXXXX.json)' url = '自分のサイトのURLを入力'

 

認証して、Google Search Console APIのサービスを立ち上げます。

これはコピペでOKです。

 

#認証して、APIを立ち上げる credentials = ServiceAccountCredentials.from_json_keyfile_name(key_file_location, scope) webmasters = build('webmasters', 'v3', credentials=credentials)

 

Google Search Consoleからデータを抽出する条件を設定します。

ここでは、2020年10月の検索クエリを抽出しています。

次のサイトをみれば、他の設定の抽出条件も設定できます。

Query your Google Search analytics data(Google公式HP)

 

#抽出条件の設定 dimensions_list = ['query', 'page'] start_date = '2020-10-01' end_date = '2020-10-31' row_limit = 50 #抽出条件をdict型にする。 request = { 'startDate': start_date, 'endDate': end_date, 'dimensions': dimensions_list, 'rowLimit': row_limit }

 

次に、設定した抽出条件をもとに、APIで抽出を行います。 これもコピペでOKです。

 

#Google Search Consoleから抽出する response = webmasters.searchanalytics().query(siteUrl=url, body=request).execute()

 

最後に、抽出した結果をDataFrame型(表形式)に加工します。

responseはdict型で、リスト型も入子になっているので、json_normalize()を使うと、一発でDataFrame型に変換できます。

#抽出結果を、json_normalizeでDataFrame型にする df = pd.json_normalize(response['rows']) #'keys'列を'query'列, 'page'列に分け、'keys'列は削除する for i, dimension in enumerate(dimensions_list): df[dimension] = df['keys'].apply(lambda row: row[i]) df = df.drop(columns='keys') #JupyterLabでdfを出力 df

 

実行結果は、次のようになり、ちゃんと検索クエリに関する情報の一覧が出力されました。

コンソール8

 

これによって次の項目を把握することができます。

・クリック数 ・インプレッション数 ・クリック率(CTR) ・対象期間の平均の検索順位 ・検索クエリ ・対象ページのURL

 

こんな感じで、Google Search ConsoleからAPIを使って、自分の欲しい情報を取得することができます。

これを使えば、PythonでPandasを使って表形式で加工したり、グラフ化したりと、サイト管理を効率化・自動化できそうですね。

 

【保存版】PythonでできるExcel操作のまとめ一覧【保存版】PythonでできるExcel操作のまとめ一覧

  Excelで作業するのって大変だな〜 なにか楽な方法ないかな〜   Excelの集計や単純作業は、Pythonで楽にできるよ!!この一覧 ...

続きを見る

 

python-matplotlib-graph【保存版】Python/Matplotlibで仕事で使えるグラフ作成のまとめ一覧

  Pythonでデータは集約したけど、うまく可視化できないかな〜 グラフ種類や設定の数が多過ぎて。。   Pythonでは、いろんなグラフ ...

続きを見る

 

 

ぜひぜひGoogle Search Console APIを使って、いろんなことを試してみてください。

 

以上となります。

最後まで読んでいただき、ありがとうございました。

 

0からPythonを勉強したい方向け

おすすめのUdemy講座を紹介します。筆者もこの講座で勉強しました。

米国データサイエンティストがやさしく教えるデータサイエンスのためのPython講座



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3